One of the newest approaches to the provisioning of products and services, especially those made available through data communications networks such as the Internet, involves a real change of paradigm.
Formerly, customers were expected to pay for the acquisition of a given product or service. This meant, for example, that customers had to purchase a given product or service of interest to them, forever or possibly for time periods of predetermined length (e.g. one year).
This approach exhibits some advantages. For example, after purchasing the product or service, the customer can take advantage of it by using the product or exploiting the service at any time, without having to incur further expenses for product or service acquisition. However, the customer has to pay for the product or service even if the service is not actually exploited. The payment is made in respect of the mere potential possibility of exploiting the product or service, irrespective of the fact that the product or service is exploited or not. The purchase cost of the product or service thus becomes a fixed cost for the customer's organization.
In the alternative, so-called “pay-per-use” or “pay-as-you-go” approach, customers are, on the contrary, allowed to pay for a product or service to the extent they actually exploit it, and not for the mere potential possibility of using it. This different approach is perceived as capable of allowing a cost reduction. This approach is therefore often preferred, especially whenever the product or service to be exploited is not directly connected to the core business of an organization.
The pay-per-use approach to the provisioning of products or services may probably have taken its inspiration from our daily, common-life experience of using services such as some of those available at home (e.g. the use of electric power or of gas for cooking burners or boilers). Switching a television set on will result in a charge for the use of electric power. Charging will stop as soon as the television set is switched off.
Starting from these traditional applications, the trend now goes in the direction of extending the pay-per-use paradigm to new realms, and particularly to that of Information Technology (IT). This has given rise to the “on-demand” approach to electronic business (e-business). Incidentally, IT is one of the products or services fields that are most commonly perceived as non-core by companies. IT is therefore considered a fixed cost worthy of being minimized.
One of the IT fields where the on-demand billing approach is more attractive is that of web-oriented applications or Web services. Without any pretension of precision, a Web service or application service is a service that is made available to service users through the Internet, particularly the World Wide Web. A Web service typically consists of a collection of functions that can be exploited by other applications, through an interface defined in a standardized way, irrespective of the actual implementation of the offered functions. A Web service is accessed via ubiquitous protocols and data formats such as HTTP, SOAP, XML and the like. Web services have become the standard platform for application integration. Web services are the fundamental building blocks in the move to distributed computing on the Internet.
A possible scenario may be one in which a software vendor or Web service producer creates a service, implemented by software, of interest for one or more customer organizations. Customer organizations take advantage of the service use by third parties. The service is published and made available to potential service users through a host. The host makes the service run and is connected to a computer network, such as a Web application server in the Internet. One of the aims of the Web service producer is to charge the account and bill the correct customer organization whenever the Web service is exploited. By way of example, the Web service may be a ticket reservation system for an aviation company or other customer organization, hosted by a Web application server, allowing users to make online airline ticket reservations through the Internet. The aim of the Web service creator or of the host making it available is to charge the customer aviation company an agreed price whenever a user accesses the system and makes a ticket reservation. The web service creator and host may coincide.
More typically, the host hosts services for more than one customer organization. Each customer organization shall be properly charged for the exploitation of the respective services.
Thus, in order to correctly bill the different customer companies, it is very important for the service provider or host to detect to which customer company an exploited service refers.
Solutions known in the art are very unsatisfactory. In particular, sets of products and software packages are available to perform this task, but they are very expensive and technically complex to implement.
A rather straightforward way to enable on-demand Web service usage billing might call for including, in each Web service, some sort of counter that keeps track of the number of times the Web service is invoked, or the usage time.
However, this approach would pose great problems as far as the aspects of data maintenance and gathering are concerned.